/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.webos.java.base.fs;

import java.io.InputStream;
import java.io.OutputStream;
import java.io.RandomAccessFile;

/**
 *
 * @author Kostya
 */
public interface FileProvider {
    
    public FileDescriptor[] listFiles(FileDescriptor aDescriptor)throws FileException;

    public InputStream getInputStream(FileDescriptor aDescriptor)throws FileException;
    public OutputStream getOutputStream(FileDescriptor aDescriptor)throws FileException;
    public RandomAccessFile getRandomAccessFile(FileDescriptor aDescriptor, String aAccess)throws FileException;

    public void createFolder(FileDescriptor aDescriptor)throws FileException;
    public void renameFile(FileDescriptor aDescriptor)throws FileException;

    public boolean removeFile(FileDescriptor aDescriptor, boolean aSafe)throws FileException;

    public FileDescriptor getRootFile();

}
